#include <stdio.h>
#include <stdlib.h>
#include "piece.h"
#include "pion.h"
#include "echiquier.h"


void couppion (int echiquier[8][8], struct piece piec, int tabretourpiece[30][2],int &nbrecoup)
{



   int deplacement;
   deplacement=0;

  if (echiquier[piec.ligne][piec.colonne]<0) //test si la pièce appartient au joueur  2

        {



            if (echiquier[piec.ligne+1][piec.colonne-1]>0 && piec.colonne < 8 && piec.colonne-1 >= 0 && piec.ligne+1<8 && piec.ligne>= 0)
            //test s'il y a une pièce adverse situé sur la trajectoire diagonale du pion
            {

                tabretourpiece[deplacement][0]= piec.ligne+1;
                tabretourpiece[deplacement][1]= piec.colonne-1;
                //auquelle cas il peut ce déplacer en diagonale
                deplacement++;

            }


            if (echiquier[piec.ligne-1][piec.colonne-1]>0 && piec.colonne < 8 && piec.colonne-1 >= 0 && piec.ligne<8 && piec.ligne-1 >= 0)
            {
                tabretourpiece[deplacement][0]= piec.ligne-1;
                tabretourpiece[deplacement][1]=piec.colonne-1;

                deplacement++;
            }

            if (echiquier[piec.ligne][piec.colonne-1]==0 && piec.colonne < 8 && piec.colonne-1 >= 0 && piec.ligne <8 && piec.ligne>= 0)
            {
               tabretourpiece[deplacement][0]= piec.ligne;
               tabretourpiece[deplacement][1]=piec.colonne-1;
               deplacement++;
            }

            if (echiquier[piec.ligne][piec.colonne-2]==0 && echiquier[piec.ligne][piec.colonne-1]==0 && piec.colonne==6 && piec.ligne<8 && piec.ligne >= 0 && piec.colonne-2 >= 0)
            //si le pion est en position initiale il peut alors avancé de deux cases
            {
                tabretourpiece[deplacement][0]= piec.ligne;
                tabretourpiece[deplacement][1]= piec.colonne-2;
                deplacement++;
            }


            nbrecoup=deplacement;
        }

    else
    //pion appartenant au joueur 1
    {
        if (echiquier[piec.ligne+1][piec.colonne+1]<0 && piec.colonne+1 < 8 && piec.colonne >= 0 && piec.ligne+1<8 && piec.ligne>= 0)


        {


                tabretourpiece[deplacement][0]= piec.ligne+1;
                tabretourpiece[deplacement][1]= piec.colonne+1;

                deplacement++;
        }


        if (echiquier[piec.ligne-1][piec.colonne+1]<0 && piec.colonne+1 < 8 && piec.colonne >= 0 && piec.ligne<8 && piec.ligne-1>= 0)
        {
                tabretourpiece[deplacement][0]= piec.ligne-1;
                tabretourpiece[deplacement][1]=piec.colonne+1;

                deplacement++;
        }

        if (echiquier[piec.ligne][piec.colonne+1]==0 && piec.colonne+1 < 8 && piec.colonne >= 0 && piec.ligne <8 && piec.ligne>= 0)
        {
               tabretourpiece[deplacement][0]= piec.ligne;
               tabretourpiece[deplacement][1]=piec.colonne+1;
               deplacement++;
        }

        if (echiquier[piec.ligne][piec.colonne+2]==0 && echiquier[piec.ligne][piec.colonne+1]==0 && piec.colonne==1 && piec.ligne<8 && piec.ligne >= 0 && piec.colonne+2 < 8)
        {
                tabretourpiece[deplacement][0]= piec.ligne;
                tabretourpiece[deplacement][1]= piec.colonne+2;
                deplacement++;
        }
        nbrecoup=deplacement;
    }
}


